<?php
require_once("../Datos/Selector.php");
require_once("../Datos/SubConsulta.php");
require_once("../Datos/Tablas/Tbl_ec_pedidos.php");
require_once("../Datos/Tablas/Tbl_ec_clientes.php");
require_once("../Datos/Selectores/Sel_Articulos_Pedido.php");
require_once("../Datos/Tablas/Tbl_ec_formas_pago.php");
require_once("../Datos/Tablas/Tbl_ec_usuarios.php");

class Sel_Pedidos_Pendientes_No_Guion extends Selector{

	function Sel_Pedidos_Pendientes_No_Guion(&$conexion){
		$this->Selector($conexion);

		$this->Nombre = "Pedidos";
		$this->estTablaBase(new Tbl_ec_pedidos($conexion, ''));

        $relacionada = new Tbl_ec_clientes($conexion, '');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');

		$this->agregarCampoJunta($this->tablaBase->obtCampo('ped_cliente'), $this->obtCampoRelacionado('ec_clientes', 'cli_id'), '=');
        
		$relacionada = new SubConsulta(new Sel_Articulos_Pedido($conexion), '');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');
		$this->agregarCampoJunta($this->tablaBase->obtCampo('ped_id'), $this->obtCampoRelacionado('Articulos_Pedido', 'Codigo_Grupo'), '=');
        
		$relacionada = new Tbl_ec_formas_pago($conexion, '');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');

		$this->agregarCampoJunta($this->tablaBase->obtCampo('ped_forma_pago'), $this->obtCampoRelacionado('ec_formas_pago', 'fp_id'), '=');
        
		$relacionada = new Tbl_ec_usuarios($conexion, 'Cobradores');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');

		$this->agregarCampoJunta($this->tablaBase->obtCampo('ped_cobrador'), $this->obtCampoRelacionado('Cobradores', 'u_id'), '=');
		
		$relacionada = new Tbl_ec_usuarios($conexion, 'Vendedores');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');

		$this->agregarCampoJunta($this->tablaBase->obtCampo('ped_vendedor'), $this->obtCampoRelacionado('Vendedores', 'u_id'), '=');

		$campo = $this->tablaBase->obtCampo('ped_id');
		$campo->estAlias('Pedido');
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fecha');
		$campo->estAlias('Fecha');
		$this->agregarCampoVisible($campo);
		
		$campo = $this->obtCampoRelacionado('ec_clientes', 'cli_id');
		$this->agregarCampoVisible($campo);

		$tabla = $this->obtTabla('ec_clientes');
		$funcion = new Funcion('Cliente', 'Concat', $tabla);
		$campo = $this->obtCampoRelacionado('ec_clientes', 'cli_apellido');
		$funcion->agregarCampo($campo);

		$funcion->agregarTexto(', ');

		$campo = $this->obtCampoRelacionado('ec_clientes', 'cli_nombre');
		$funcion->agregarCampo($campo);

		$this->agregarCampoVisible($funcion);

		$campo = $this->obtCampoRelacionado('Articulos_Pedido', 'Articulos');
		$this->agregarCampoVisible($campo);
		
		$campo = $this->obtCampoRelacionado('Articulos_Pedido', 'Articulo');
		$this->agregarCampoVisible($campo);

		$campo = $this->obtCampoRelacionado('ec_formas_pago', 'fp_descripcion');
		$campo->estAlias('Forma_Pago');
		$this->agregarCampoVisible($campo);

		$campo = $this->tablaBase->obtCampo('ped_cant_pagos');
		$campo->estAlias('Cantidad_Pagos');
		$this->agregarCampoVisible($campo);
		
		$tabla = $this->obtTabla('Vendedores');
		$funcion = new Funcion('Vendedor', 'Concat', $tabla);
		$campo = $this->obtCampoRelacionado('Vendedores', 'u_apellido');
		$funcion->agregarCampo($campo);

		$funcion->agregarTexto(', ');

		$campo = $this->obtCampoRelacionado('Vendedores', 'u_nombre');
		$funcion->agregarCampo($campo);
		
		$funcion->estOcultoListado(1);
		$funcion->estOcultoDetalle(1);
		
		$this->agregarCampoVisible($funcion);

		$tabla = $this->obtTabla('Cobradores');
		$funcion = new Funcion('Cobrador', 'Concat', $tabla);
		$campo = $this->obtCampoRelacionado('Cobradores', 'u_apellido');
		$funcion->agregarCampo($campo);

		$funcion->agregarTexto(', ');

		$campo = $this->obtCampoRelacionado('Cobradores', 'u_nombre');
		$funcion->agregarCampo($campo);

		$this->agregarCampoVisible($funcion);
		
		$campo = $this->tablaBase->obtCampo('ped_monto');
		$campo->estAlias('Monto');
		$this->agregarCampoVisible($campo);

		$campo = $this->tablaBase->obtCampo('ped_comentario');
		$campo->estAlias('Comentario');
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fot_dni_t');
		$campo->estAlias("DNI_Titular");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fot_dni_c');
		$campo->estAlias("DNI_Conyuge");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fot_rec_serv');
		$campo->estAlias("Recibo_Servicios");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fot_rec_imp_inm');
		$campo->estAlias("Rec_Inmoviliario");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fot_tva');
		$campo->estAlias("Tarjeta_Verde");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_fot_rs');
		$campo->estAlias("Recibo_Sueldo");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('ped_min_cuotas');
		$campo->estAlias("Min_Cuotas");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
				
		$campo = $this->tablaBase->obtCampo('ped_min_monto');
		$campo->estAlias("Min_Monto");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);		
		
		$campo = $this->tablaBase->obtCampo('ped_com_negacion');
		$campo->estAlias("Com_Negacion");
		$campo->estOcultoListado(1);
		$this->agregarCampoVisible($campo);
				
		$this->estCondicion("ped_id not in (SELECT ven_pedido FROM ec_ventas) and ped_negar = 0");
		
		$this->txtConsulta = $this->GenerarConsulta();
 }
}
?>
